ShowTable of Contents
**
DISCLAIMER: IBM Lotus Notes Domino R8.5.2 is pre-release software so there is no guarantee that what is written below will be part of the final release.
**
Here is a list of the new XPages features and enhancements, some big, some small, coming in 852. It's an A to Z with one-liners (a little rough now, some with placeholders - we will get to those in time), with links to existing articles and blog posts.
So here goes...
Accessibility
ARIA Support
Active Content Filter
The ACF has been upgrade since 851. The version in 852 is 2.4.0
Agents
Agents with In-Memory documents
Ability to run Agents with In-Memory documents - Agent.runWithDocumentContext(Document doc) - Agent.runWithDocumentContext(Document doc, String noteID)
Java Agents in XPiNC
Ajax
Partial Refresh Timeout
Set a timeout for partial refresh - "xsp.partial.update.timeout" - See this for a use case.
Prevent Filtering
Prevent-filtering property (TypeAhead preventFiltering property). The typeahead *always* automatically filters the entries based on the first characters sent by the browser, which prevent some use cases from working. For example, where you would like to show results from the first character on the second word. This new property prevents this filtering.
CKEditor
CKEditor - new default rich text editor to XPages. This is the new default Rich Text Editor for 852, though if you need to switch back to using the previous dojo editor, there is an option here to do so.
Controls
Editbox autocomplete
Support for the "autocomplete" attribute on the EditBox to help manage the setting and changing of passwords.
Radio Group & Checkbox Group
Radio Group & Checkbox Group - has been re-implemented in Designer
tagName
HTML tag support for Computed text (tagName Property). This allow the control to emit a tag for computed text, like h1, h2, h3 tags to aid in creating semantic HTML structures for documents (to help in search engine optimizations, etc).
Data Sources
databaseName
Better server name support in the database Name attribute. This allows the database to be deployed on different servers and run on the client, XPiNC, without having to update the databaseName property for each NSF deployed to each server.
Soft Deletes
Soft deletes support enhancement.
Designer
"Pretty" Panels
Most if not all of the 'pretty' panels have been enhanced. The widely used properties from the 'All Properties' tab have now been promoted to the more user friendly panels. See the Data panel for the View Panel control.
Source
Drag and drop to the Source pane.
Lots of other stuff...
Discussion Template
The Discussion template has gotten a further update in 852 so that it performs better and has a better user experience.
Documentation
For Release 8.5.2, the XPages user's guide in the product documentation has been revised. It now includes reference topics for all controls and properties. The overview and other material has also been redrafted. Work is on going to improve this guide.
Dojo:
Upgraded to Dojo 1.4.3 for the server and XPiNC. The server install will also include a further upgrade to 1.3.x to Dojo 1.3.3.
Dojo Type and Attributes added to more controls (including scriptBlock)
Support for dojoForms (dojoForm="true")
Events:
onClientLoad Event. Its now possible to add scripts in the events to be executed when the page is submitted or this panel or some containing panel is partial updated.
Extensions API:
Some have been calling this XPages, The Next Generation, and this feature is one of the main, if not the main highlight for XPages in 852.
Current documentation on the Wiki - XPages Extensibility APIs Developer Guide
Tim Tripcony's blog post on this - the power of the extensibility API
Declan Lynch's post - XPages Is About To Get A Lot More Powerful
Global Objects:
Two new Global Objects for Server Side JavaScript, sessionAsSigner (open a session using the signer rights) and sessionAsSignerWithFullAccess(open a session using the signer rights, while giving it full access to the data)
sessionAsSigner - assigns credentials based on the signer of the of XPages design element. The session is restricted by the application's ACL and the security tab of the server's Domino Directory entry.
sessionAsSignerWithFullAccess - assigns credentials based on the signer of the of XPages design element and allows full administrative access to the application's data. The signer must have the right to such access or the session is not created.
HeadTag:
New resource xp:headTag - this allow you in an easy way to put stuff into the header of a XPage - and here is an example of it's use.
HTML5:
HTML5 cache manifest support. This offers off-line capabilities. See Niklas Heidloff's HTML5 Offline Functionality in XPages 8.5.2 and Mark Hughes: HTML 5 Cache Manifest and dynamic data
HTML5 Base resource support - pageBaseUrl property renders as a base tag in the header. The tag specifies a default URL and\or a default target, for all elements with a URL.
Infrastructure:
OSGi Framwork. The runtime has switched over to use the OSGi framework. All the XPages libraries (which are under xsp/nsf/lib in 851) have being moved to the OSGI framework under the shared eclipse location.
Miscellaneous:
New complex-type "loaded" property. New support has been added for the loaded attribute to complex types. This will allow for a way to conditionally define a complex objects like a dominoDocument on an XPage.
OneUI:
A new version fully available - oneuiv2. Try out these new themes: oneuiv2, oneuiv2_green, oneuiv2_gold, oneuiv2_metal and oneuiv2_red.
Pagers:
Last Page - allow for calculating the Last page in a Pager. In 851, there is a restriction on the number of pages the Pager will display. This is because of associated performance hit (this is still the case with this new property). However, customers have asked for an option to calculate this regardless. The 'alwaysCalculateLast' property, new to 852, allows you to do just that.
'
Performance:
Further enhancements in the Java back-end classes help XPages perform better.
Repeat Control:
Repeat Control enhancements - "xsp.repeat.allowZeroRowsPerPage". This option may be useful when you need to compute the number of rows to display as there may be situations where no rows should be displayed but the Repeat control should still render.
Security:
Java Agents in XPiNC.
New ECL Permissions.
Public Access. Support for Public Access documents in XPages.
Managed beans from JS support 'JQUL7XPMVJ'
Single Copy XPage Design (SCXD):
My favourite. Redirect XPages design elements to other databases. See this and this for more information.
Validation:
Save Only Validation - disableValidation property - allows you to process data without validation and so firing the validation when it really matters. Resolves XPages: am I the only one fighting with validation on every partial update and The Bad: Invalid Invalidation
View Filtering:
startKey. Very much like 'keys', startKey allows you to filter the view to start at a certain value.
multi-level category. This is an addition to categoryFilter that allows you to filter a view by the category and then the sub-category.
Views and View Panel:
Clickable View Column Header Icons -
NotesXspViewEntry.setSelected() -
XPages in the Notes Client (XPiNC) Integration:
Run agents in XPiNC. The following NotesAgent methods are supported: NotesAgent.run, NotesAgent.runWithDocumentContext, and NotesAgent.runOnServer. Security is based on the client ECL settings for the signer of the agent.
New Tab\Window management support.
New Replica option.
Open in Designer option.
XulRunner upgrade to 1.9
window.close() support -' Adds the ability to Close a Window from a Client Side or Server Side JavaScript event '
*** more updates to come - stay tuned. ***